/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package accesoDatos;

import logica.*;
import java.sql.*;

public class DAOArticulo {
    
    private FachadaBD fachada;
    
    public DAOArticulo(){
        fachada=new FachadaBD();
    }
    
    public int guardarArticulo(Articulo art,String cod_autor){
        
        String sql="INSERT INTO articulo (nombre, fecha_pub, nom_rev_lib, tipo,id_grupo_inves) VALUES ('"
                + art.getNombre() + "', '" + art.getFechaPublicacion() + "', '"
                + art.getNombreRevista() + "', '" + art.getTipo() + "', '"
                + art.getIdGrupo() + "')";
        
        int idArt = Integer.parseInt(obtenerId())+1;
        String sql2="INSERT INTO escribir_articulo (id_profesor,id_articulo) VALUES('"
                    + cod_autor + "', '" + idArt + "')";
        
        try{
            Connection c=fachada.conectar();
            Statement sentencia=c.createStatement();
            int numFilas = sentencia.executeUpdate(sql);
            numFilas += sentencia.executeUpdate(sql2);
            fachada.desconectar(c);
            System.out.println("Articulo guardado y conexion cerrada");
            return numFilas;
        }
        catch(SQLException e){System.out.println(e+"");}
        catch(Exception e){System.out.println(e+"");}
        return -1;
    }
    
    public String obtenerId(){
        String id=null;
        String consulta_sql = "select last_value from articulo_seq";
        
        try{
            Connection c= fachada.conectar();
            Statement sentencia = c.createStatement();
            ResultSet res=sentencia.executeQuery(consulta_sql);
            
            while(res.next()) id=res.getString(1);
            fachada.desconectar(c);
            return id;
        }
        catch(SQLException e){}
        catch(Exception e){}
        return id;
    }
    public Articulo consultarArticulo(String id_articulo){
        Articulo art= new Articulo();
        
        String consulta_sql = "SELECT * FROM articulo WHERE id="+id_articulo;
        
        try{
            Connection c= fachada.conectar();
            Statement sentencia = c.createStatement();
            ResultSet res=sentencia.executeQuery(consulta_sql);
            
            while(res.next()){
                art.setId(res.getString(1));
                art.setNombre(res.getString(2));
                art.setFechaPublicacion(res.getDate(3));
                art.setNombreRevista(res.getString(4));
                art.setTipo(res.getString(5));
                art.setIdGrupo(res.getString(6));
            }
            
            c.close();
            System.out.println("articu_consutla y Conexion cerrada");
            return art;
        }
        catch(SQLException e){}
        catch(Exception e){}
        
        return null;
    }
}